library(knitr)
library(Seurat)
load('output/monocle/180831/heatmaps')
seurobj <- readRDS('output/seurat_objects/180831/10x-180831')

Select genes to show on heatmap. Genes cluster 2:

BEAM2 <- BEAM2[order(-BEAM2$avgLogFC_State2_State3),]
BEAM2 <- BEAM2[order(-BEAM2$avgLogFC_State2_State3),]
kable(as.data.frame(BEAM2))


|    |gene_short_name | pval| qval| avgLogFC_State2_State3|
|:---|:---------------|----:|----:|----------------------:|
|57  |SCD             |    0|    0|              2.3668674|
|45  |FABP5           |    0|    0|              1.9345684|
|7   |G0S2            |    0|    0|              1.8911775|
|46  |FABP4           |    0|    0|              1.8649388|
|21  |ADIPOQ          |    0|    0|              1.8116877|
|55  |ADIRF           |    0|    0|              1.5471742|
|37  |CD36            |    0|    0|              1.4585314|
|107 |PLIN4           |    0|    0|              1.4433467|
|77  |GPD1            |    0|    0|              1.4303713|
|56  |RBP4            |    0|    0|              1.3479227|
|88  |PLIN1           |    0|    0|              1.3378702|
|99  |FASN            |    0|    0|              1.3069709|
|13  |DBI             |    0|    0|              1.2918998|
|63  |PNPLA2          |    0|    0|              1.2703044|
|115 |CHCHD10         |    0|    0|              1.1849491|
|17  |CIDEC           |    0|    0|              1.0783518|
|32  |HEBP2           |    0|    0|              1.0567199|
|94  |MTRNR2L1        |    0|    0|              1.0234040|
|50  |AGPAT2          |    0|    0|              1.0196356|
|82  |ACACB           |    0|    0|              0.9651879|
|67  |FADS1           |    0|    0|              0.9617837|
|24  |ACSL1           |    0|    0|              0.9474505|
|70  |UCP2            |    0|    0|              0.8888489|
|69  |PLA2G16         |    0|    0|              0.8751794|
|42  |INSIG1          |    0|    0|              0.8699395|
|100 |CYB5A           |    0|    0|              0.8587624|
|112 |LIPE            |    0|    0|              0.8196034|
|71  |DGAT2           |    0|    0|              0.7773532|
|60  |GPAM            |    0|    0|              0.7571747|
|121 |MRAP            |    0|    0|              0.7543819|
|79  |PPP1R1A         |    0|    0|              0.7513995|
|43  |COX7B           |    0|    0|              0.7454391|
|95  |ACLY            |    0|    0|              0.7285936|
|114 |SLC25A1         |    0|    0|              0.7264040|
|44  |LPL             |    0|    0|              0.7030135|
|96  |AOC3            |    0|    0|              0.6948749|
|54  |FAM213A         |    0|    0|              0.6533328|
|30  |COX7A2          |    0|    0|              0.6270537|
|102 |PCK1            |    0|    0|              0.6190016|
|6   |PRDX6           |    0|    0|              0.6176262|
|83  |COL4A1          |    0|    0|              0.6091304|
|75  |TIMM8B          |    0|    0|              0.6052668|
|61  |ACSL5           |    0|    0|              0.6034987|
|27  |UQCRQ           |    0|    0|              0.6011568|
|15  |PTMA            |    0|    0|              0.6008086|
|9   |MDH1            |    0|    0|              0.5899964|
|48  |AQP7            |    0|    0|              0.5891652|
|51  |MRPL41          |    0|    0|              0.5844586|
|39  |PRKAR2B         |    0|    0|              0.5776642|
|120 |ATP5J           |    0|    0|              0.5753469|
|12  |COX5B           |    0|    0|              0.5748667|
|68  |LGALS12         |    0|    0|              0.5678075|
|117 |UQCR10          |    0|    0|              0.5672789|
|3   |UQCRH           |    0|    0|              0.5649240|
|92  |ACADVL          |    0|    0|              0.5648477|
|116 |DDT             |    0|    0|              0.5564133|
|35  |VKORC1L1        |    0|    0|              0.5562388|
|113 |ETFB            |    0|    0|              0.5543867|
|72  |THRSP           |    0|    0|              0.5497026|
|73  |NDUFC2          |    0|    0|              0.5371121|
|4   |SHC1            |    0|    0|              0.5361255|
|118 |ACO2            |    0|    0|              0.5346643|
|5   |MGST3           |    0|    0|              0.5278472|
|84  |COL4A2          |    0|    0|              0.5232081|
|8   |FNDC4           |    0|    0|              0.5228482|
|22  |HADH            |    0|    0|              0.5181163|
|98  |DCXR            |    0|    0|              0.5152906|
|91  |MVD             |    0|    0|              0.5029292|
|49  |STOM            |    0|    0|              0.5026573|
|10  |HK2             |    0|    0|              0.5014454|
|20  |ALDH1L1         |    0|    0|              0.4946480|
|97  |MRPL12          |    0|    0|              0.4938111|
|81  |CS              |    0|    0|              0.4926468|
|36  |YWHAG           |    0|    0|              0.4918045|
|157 |AKR1C2          |    0|    0|              0.4881559|
|62  |RPLP2           |    0|    0|              0.4870903|
|29  |ELOVL5          |    0|    0|              0.4870801|
|80  |ITGA7           |    0|    0|              0.4839989|
|133 |CSAD            |    0|    0|              0.4766446|
|64  |MRPL23          |    0|    0|              0.4725353|
|123 |MT-ATP6         |    0|    0|              0.4724549|
|40  |NDUFB2          |    0|    0|              0.4657037|
|25  |HMGCS1          |    0|    0|              0.4651636|
|18  |GBE1            |    0|    0|              0.4561524|
|78  |COX14           |    0|    0|              0.4534031|
|119 |NDUFA6          |    0|    0|              0.4525655|
|130 |RHOB            |    0|    0|              0.4497413|
|135 |HP              |    0|    0|              0.4477185|
|146 |TSKU            |    0|    0|              0.4432958|
|104 |ATP5D           |    0|    0|              0.4430642|
|131 |CHI3L2          |    0|    0|              0.4422965|
|101 |ACSS2           |    0|    0|              0.4420577|
|87  |FAH             |    0|    0|              0.4326943|
|93  |SREBF1          |    0|    0|              0.4302819|
|90  |FAM195A         |    0|    0|              0.4297691|
|134 |APOE            |    0|    0|              0.4293498|
|171 |C11orf96        |    0|    0|              0.4287948|
|144 |PEMT            |    0|    0|              0.4231312|
|53  |AIFM2           |    0|    0|              0.4225094|
|85  |SLIRP           |    0|    0|              0.4208609|
|59  |SH3PXD2A        |    0|    0|              0.4199032|
|125 |MT-ND5          |    0|    0|              0.4144307|
|14  |IDH1            |    0|    0|              0.4129852|
|124 |MT-CO3          |    0|    0|              0.4114366|
|19  |COX17           |    0|    0|              0.4104477|
|16  |CAMK1           |    0|    0|              0.4101654|
|105 |UQCR11.1        |    0|    0|              0.4095750|
|2   |NDUFS5          |    0|    0|              0.4092634|
|34  |ERV3-1          |    0|    0|              0.4089046|
|38  |ATP5J2          |    0|    0|              0.4086221|
|128 |GCSH            |    0|    0|              0.4079703|
|58  |USMG5           |    0|    0|              0.4071789|
|89  |MESP1           |    0|    0|              0.4067898|
|109 |NOTCH3          |    0|    0|              0.4022523|
|138 |NDUFA3          |    0|    0|              0.3993649|
|139 |ECH1            |    0|    0|              0.3944349|
|47  |ACO1            |    0|    0|              0.3940340|
|52  |IDI1            |    0|    0|              0.3929025|
|174 |RASD1           |    0|    0|              0.3927756|
|163 |RDH5            |    0|    0|              0.3917956|
|129 |CDKN2C          |    0|    0|              0.3910632|
|11  |RETSAT          |    0|    0|              0.3853895|
|76  |ATP5L           |    0|    0|              0.3836226|
|74  |DLAT            |    0|    0|              0.3799294|
|86  |CLMN            |    0|    0|              0.3754890|
|65  |MTRNR2L8        |    0|    0|              0.3743367|
|28  |HLA-DMA         |    0|    0|              0.3722141|
|127 |CAV1            |    0|    0|              0.3717264|
|111 |COX6B1          |    0|    0|              0.3706229|
|108 |NDUFB7          |    0|    0|              0.3696316|
|137 |MLXIPL          |    0|    0|              0.3673746|
|140 |ATP5I           |    0|    0|              0.3653028|
|167 |TIMP4           |    0|    0|              0.3632776|
|136 |COX6A1          |    0|    0|              0.3619079|
|149 |MMD             |    0|    0|              0.3615633|
|145 |MGST1           |    0|    0|              0.3609143|
|106 |MKNK2           |    0|    0|              0.3591204|
|23  |MSMO1           |    0|    0|              0.3576535|
|160 |NR1H3           |    0|    0|              0.3569965|
|152 |SAT1            |    0|    0|              0.3557991|
|156 |MME             |    0|    0|              0.3541996|
|141 |HILPDA          |    0|    0|              0.3540137|
|110 |CEBPA           |    0|    0|              0.3466449|
|142 |RTN3            |    0|    0|              0.3428421|
|173 |IL17RE          |    0|    0|              0.3397997|
|31  |ME1             |    0|    0|              0.3390659|
|132 |COX7A1          |    0|    0|              0.3369407|
|151 |C19orf70        |    0|    0|              0.3355317|
|153 |DHCR24          |    0|    0|              0.3342182|
|103 |ATP5E           |    0|    0|              0.3333487|
|161 |TOB1            |    0|    0|              0.3322712|
|169 |CAT             |    0|    0|              0.3321904|
|122 |MT-CO1          |    0|    0|              0.3283443|
|143 |ATP5O           |    0|    0|              0.3282112|
|172 |AKR1C3          |    0|    0|              0.3281871|
|168 |LINC00116       |    0|    0|              0.3277222|
|155 |TECR            |    0|    0|              0.3266503|
|26  |COX7C           |    0|    0|              0.3259517|
|166 |PPARG           |    0|    0|              0.3226131|
|33  |NDUFA4          |    0|    0|              0.3193664|
|148 |LETM1           |    0|    0|              0.3193467|
|175 |HSD11B1         |    0|    0|              0.3174487|
|150 |NDUFA1          |    0|    0|              0.3164739|
|158 |ACAA2           |    0|    0|              0.3152373|
|159 |GLRX5           |    0|    0|              0.3143023|
|154 |C17orf89        |    0|    0|              0.3140140|
|147 |MTRNR2L10       |    0|    0|              0.3118525|
|170 |HADHB           |    0|    0|              0.3098151|
|162 |MINOS1          |    0|    0|              0.3095168|
|126 |MT-CYB          |    0|    0|              0.3076045|
|165 |DECR1           |    0|    0|              0.3050834|
|164 |FZD4            |    0|    0|              0.3027719|
|66  |PDE3B           |    0|    0|              0.3017737|
|41  |EPHA1-AS1       |    0|    0|              0.3000552|
|1   |PLA2G2A         |    0|    0|             -0.3153235|

Genes cluster 6

kable(as.data.frame(BEAM6))


|   |gene_short_name | pval| qval| avgLogFC_State2_State3|
|:--|:---------------|----:|----:|----------------------:|
|7  |CYCS            |    0|    0|              0.8080338|
|25 |MT-CO2          |    0|    0|              0.7081435|
|9  |SLC25A5         |    0|    0|              0.6604334|
|8  |CAV2            |    0|    0|              0.6421343|
|2  |MPC2            |    0|    0|              0.6294591|
|15 |COX8A           |    0|    0|              0.6120592|
|3  |ATP5G3          |    0|    0|              0.6107311|
|16 |ATP5B           |    0|    0|              0.5996341|
|1  |FDPS            |    0|    0|              0.5967354|
|11 |CYC1            |    0|    0|              0.5645716|
|18 |COX5A           |    0|    0|              0.5541594|
|22 |PRDX2           |    0|    0|              0.5220889|
|26 |MT-ND4          |    0|    0|              0.4658894|
|12 |ECHS1           |    0|    0|              0.4641587|
|10 |BCAP31          |    0|    0|              0.4596779|
|20 |ATP5G1          |    0|    0|              0.4572808|
|24 |PDXK            |    0|    0|              0.4479602|
|14 |MTCH2           |    0|    0|              0.4469896|
|23 |UQCRFS1         |    0|    0|              0.4462437|
|4  |HSPE1           |    0|    0|              0.4419751|
|6  |NDUFS6          |    0|    0|              0.4368126|
|13 |TALDO1          |    0|    0|              0.4245221|
|21 |TIMM13          |    0|    0|              0.4238569|
|27 |ASPH            |    0|    0|              0.3968682|
|19 |NDUFAB1         |    0|    0|              0.3933739|
|17 |MMAB            |    0|    0|              0.3740861|
|5  |MRAS            |    0|    0|              0.3699491|
|30 |BOLA3           |    0|    0|              0.3568609|
|31 |GPC1            |    0|    0|              0.3549774|
|37 |G6PD            |    0|    0|              0.3499098|
|29 |C20orf27        |    0|    0|              0.3484041|
|28 |HSD17B12        |    0|    0|              0.3404516|
|36 |CISD3           |    0|    0|              0.3399934|
|35 |HSD17B10        |    0|    0|              0.3394396|
|33 |UQCRC1          |    0|    0|              0.3248240|
|34 |NDUFS7          |    0|    0|              0.3205082|
|32 |ACAT2           |    0|    0|              0.3002897|

Genes cluster 3

kable(as.data.frame(BEAM3))


|   |gene_short_name | pval| qval| avgLogFC_State2_State3|
|:--|:---------------|----:|----:|----------------------:|
|6  |APOD            |    0|    0|             -1.4736756|
|21 |MGP             |    0|    0|             -1.4203376|
|22 |DCN             |    0|    0|             -1.3868741|
|16 |IGF2            |    0|    0|             -1.1216422|
|13 |PLAC9           |    0|    0|             -1.0051597|
|26 |MFAP4           |    0|    0|             -0.8775692|
|29 |CST3            |    0|    0|             -0.8697664|
|20 |MFAP5           |    0|    0|             -0.8672895|
|14 |IFITM3          |    0|    0|             -0.8357621|
|9  |CLU             |    0|    0|             -0.7825588|
|31 |ZFP36           |    0|    0|             -0.7113562|
|12 |PTGDS           |    0|    0|             -0.6952933|
|4  |DPT             |    0|    0|             -0.6841868|
|32 |FBLN1           |    0|    0|             -0.6752993|
|24 |FOS             |    0|    0|             -0.6405352|
|25 |MFGE8           |    0|    0|             -0.6328013|
|18 |C1S             |    0|    0|             -0.6291763|
|19 |C1R             |    0|    0|             -0.6249373|
|3  |CTSK            |    0|    0|             -0.6079750|
|11 |OSR2            |    0|    0|             -0.5893658|
|23 |ZFP36L1         |    0|    0|             -0.5867891|
|8  |TCEAL4          |    0|    0|             -0.5379888|
|10 |SNAI2           |    0|    0|             -0.5313284|
|30 |CFD             |    0|    0|             -0.5229203|
|17 |SERPING1        |    0|    0|             -0.5216133|
|1  |PPAP2B          |    0|    0|             -0.5215079|
|28 |TIMP2           |    0|    0|             -0.4636693|
|2  |OLFML3          |    0|    0|             -0.4582122|
|5  |CYBRD1          |    0|    0|             -0.4574269|
|27 |ABCA6           |    0|    0|             -0.4514171|
|15 |LSP1            |    0|    0|             -0.4444798|
|36 |SH3D19          |    0|    0|             -0.4309001|
|37 |ZEB1            |    0|    0|             -0.4307388|
|33 |CD34            |    0|    0|             -0.4275094|
|38 |EGR1            |    0|    0|             -0.4104048|
|35 |ZFP36L2         |    0|    0|             -0.3991944|
|41 |NDRG1           |    0|    0|             -0.3666916|
|7  |NGFRAP1         |    0|    0|             -0.3661955|
|40 |LHFP            |    0|    0|             -0.3625350|
|34 |FSTL1           |    0|    0|             -0.3486961|
|42 |TNNT3           |    0|    0|             -0.3473315|
|46 |C1orf21         |    0|    0|             -0.3448129|
|56 |CILP            |    0|    0|             -0.3445678|
|49 |TMEM59L         |    0|    0|             -0.3436946|
|43 |HSD17B11        |    0|    0|             -0.3412664|
|39 |WISP2           |    0|    0|             -0.3364780|
|55 |PMP22           |    0|    0|             -0.3291142|
|51 |FAM198B         |    0|    0|             -0.3285126|
|50 |PPAP2A          |    0|    0|             -0.3271414|
|45 |ANKRD28         |    0|    0|             -0.3238307|
|48 |CBR3            |    0|    0|             -0.3210070|
|52 |SPON2           |    0|    0|             -0.3208090|
|47 |MIR24-2         |    0|    0|             -0.3113038|
|54 |GPNMB           |    0|    0|             -0.3093493|
|44 |RAB31           |    0|    0|             -0.3077585|
|58 |CPB1            |    0|    0|             -0.3050819|
|57 |SLC40A1         |    0|    0|             -0.3033854|
|53 |EPHB6           |    0|    0|             -0.3012332|

#OSR2 = TF
genes.cluster3 <- c('APOD', 'DCN', 'MGP', 'ZFP36', 'DPT', 'CD34', 'PLAC9')
genes.cluster2 <- c('SCD', 'FABP5', 'G0S2', 'ADIPOQ', 'ADIRF', 'PLIN1', 'FASN', 'CIDEC', 'UCP2', 'FADS1', 'HEBP2', 'LIPE', 'CD36')
genes.cluster6 <- c('MPC2', 'COX8A', 'ATP5B', 'FDPS', 'PDXK')
genes.union <- c(genes.cluster3, genes.cluster2, genes.cluster6)
heatmaps[['heatmap_logFC0.3_ncluster6']]$ph_res$gtable$grobs[[3]][1]['all_labels'] <- genes
number of items to replace is not a multiple of replacement lengthnumber of items to replace is not a multiple of replacement length

Heatmap with filtered

save(heatmaps, file='output/monocle/180831/heatmaps')
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKCgpgYGB7cn0KbGlicmFyeShrbml0cikKbGlicmFyeShTZXVyYXQpCmBgYAoKYGBge3J9CmxvYWQoJ291dHB1dC9tb25vY2xlLzE4MDgzMS9oZWF0bWFwcycpCnNldXJvYmogPC0gcmVhZFJEUygnb3V0cHV0L3NldXJhdF9vYmplY3RzLzE4MDgzMS8xMHgtMTgwODMxJykKYGBgCgoKYGBge3IsIGZpZy5oZWlnaHQgPSAyNSwgZmlnLndpZHRoID0gNywgZmlnLmFsaWduID0gImNlbnRlciJ9CmdyaWRFeHRyYTo6Z3JpZC5hcnJhbmdlKGhlYXRtYXBzW1snaGVhdG1hcF9sb2dGQzAuM19uY2x1c3RlcjYnXV0kcGhfcmVzJGd0YWJsZSkKI2dyaWQ6OmdyaWQuZHJhdyhicmFuY2hlZF81X3Jvd25hbWVzJHBoX3JlcykKI2Rpc3BsYXkoYnJhbmNoZWRfNV9yb3duYW1lcyRwaF9yZXMpCmBgYAoKU2VsZWN0IGdlbmVzIHRvIHNob3cgb24gaGVhdG1hcC4gR2VuZXMgY2x1c3RlciAyOgoKYGBge3J9CkJFQU0yIDwtIHJlYWQudGFibGUoJ3RhYmxlcy9CRUFNL2hlYXRtYXBfbG9nRkMwLjNfbmNsdXN0ZXI2L2dlbmVsaXN0X2NsdXN0ZXIyLnRzdicsIHNlcD0nXHQnLCBoZWFkZXI9VCkKQkVBTTIgPC0gQkVBTTJbb3JkZXIoLUJFQU0yJGF2Z0xvZ0ZDX1N0YXRlMl9TdGF0ZTMpLF0Ka2FibGUoYXMuZGF0YS5mcmFtZShCRUFNMikpCmBgYAoKYGBge3IsIGZpZy5oZWlnaHQgPSA0MCwgZmlnLndpZHRoID0gMTAsIGZpZy5hbGlnbiA9ICJjZW50ZXIifQpGZWF0dXJlUGxvdChzZXVyb2JqLCBmZWF0dXJlcy5wbG90PWFzLnZlY3RvcihCRUFNMiRnZW5lX3Nob3J0X25hbWVbMTozMF0pLCBuQ29sPTMsIGNvbHMudXNlPWMoJ2dyYXknLCAnYmx1ZScpKQpgYGAKCkdlbmVzIGNsdXN0ZXIgNgoKYGBge3J9CkJFQU02IDwtIHJlYWQudGFibGUoJ3RhYmxlcy9CRUFNL2hlYXRtYXBfbG9nRkMwLjNfbmNsdXN0ZXI2L2dlbmVsaXN0X2NsdXN0ZXI2LnRzdicsIHNlcD0nXHQnLCBoZWFkZXI9VCkKQkVBTTYgPC0gQkVBTTZbb3JkZXIoLUJFQU02JGF2Z0xvZ0ZDX1N0YXRlMl9TdGF0ZTMpLF0Ka2FibGUoYXMuZGF0YS5mcmFtZShCRUFNNikpCmBgYAoKYGBge3IsIGZpZy5oZWlnaHQgPSA0MCwgZmlnLndpZHRoID0gMTAsIGZpZy5hbGlnbiA9ICJjZW50ZXIifQpGZWF0dXJlUGxvdChzZXVyb2JqLCBmZWF0dXJlcy5wbG90PWFzLnZlY3RvcihCRUFNNiRnZW5lX3Nob3J0X25hbWUpLCBuQ29sPTMsIGNvbHMudXNlPWMoJ2dyYXknLCAnYmx1ZScpKQpgYGAKCgpHZW5lcyBjbHVzdGVyIDMKCmBgYHtyfQpCRUFNMyA8LSByZWFkLnRhYmxlKCd0YWJsZXMvQkVBTS9oZWF0bWFwX2xvZ0ZDMC4zX25jbHVzdGVyNi9nZW5lbGlzdF9jbHVzdGVyMy50c3YnLCBzZXA9J1x0JywgaGVhZGVyPVQpCkJFQU0zIDwtIEJFQU0zW29yZGVyKEJFQU0zJGF2Z0xvZ0ZDX1N0YXRlMl9TdGF0ZTMpLF0Ka2FibGUoYXMuZGF0YS5mcmFtZShCRUFNMykpCmBgYAoKYGBge3IsIGZpZy5oZWlnaHQgPSAzMCwgZmlnLndpZHRoID0gMTAsIGZpZy5hbGlnbiA9ICJjZW50ZXIifQpGZWF0dXJlUGxvdChzZXVyb2JqLCBmZWF0dXJlcy5wbG90PWFzLnZlY3RvcihCRUFNMyRnZW5lX3Nob3J0X25hbWVbMTozMF0pLCBuQ29sPTMsIGNvbHMudXNlPWMoJ2dyYXknLCAnYmx1ZScpKQpgYGAKCgpgYGB7cn0KI09TUjIgPSBURgpnZW5lcy5jbHVzdGVyMyA8LSBjKCdBUE9EJywgJ0RDTicsICdNR1AnLCAnWkZQMzYnLCAnRFBUJywgJ0NEMzQnLCAnUExBQzknKQpnZW5lcy5jbHVzdGVyMiA8LSBjKCdTQ0QnLCAnRkFCUDUnLCAnRzBTMicsICdBRElQT1EnLCAnQURJUkYnLCAnUExJTjEnLCAnRkFTTicsICdDSURFQycsICdVQ1AyJywgJ0ZBRFMxJywgJ0hFQlAyJywgJ0xJUEUnLCAnQ0QzNicpCmdlbmVzLmNsdXN0ZXI2IDwtIGMoJ01QQzInLCAnQ09YOEEnLCAnQVRQNUInLCAnRkRQUycsICdQRFhLJykKZ2VuZXMudW5pb24gPC0gYyhnZW5lcy5jbHVzdGVyMywgZ2VuZXMuY2x1c3RlcjIsIGdlbmVzLmNsdXN0ZXI2KQpgYGAKCmBgYHtyfQpoZWF0bWFwc1tbJ2hlYXRtYXBfbG9nRkMwLjNfbmNsdXN0ZXI2X2ZpbHRlcmVkX2dlbmVzJ11dIDwtIGhlYXRtYXBzW1snaGVhdG1hcF9sb2dGQzAuM19uY2x1c3RlcjYnXV0KCmdlbmVzIDwtIGhlYXRtYXBzW1snaGVhdG1hcF9sb2dGQzAuM19uY2x1c3RlcjZfZmlsdGVyZWRfZ2VuZXMnXV0kcGhfcmVzJGd0YWJsZSRncm9ic1tbM11dWzFdJGxhYmVsCgpnZW5lc19maWx0ZXJlZCA8LSB1bmxpc3QobGFwcGx5KGdlbmVzLCBmdW5jdGlvbih4KXsKICBpZih4ICVpbiUgZ2VuZXMudW5pb24pewogICAgcmV0dXJuKHgpCiAgfSBlbHNlIHsKICAgIHJldHVybignJykKICB9Cn0pKQoKaGVhdG1hcHNbWydoZWF0bWFwX2xvZ0ZDMC4zX25jbHVzdGVyNl9maWx0ZXJlZF9nZW5lcyddXSRwaF9yZXMkZ3RhYmxlJGdyb2JzW1szXV1bMV0kbGFiZWwgPC0gZ2VuZXNfZmlsdGVyZWQKYGBgCgojSGVhdG1hcCB3aXRoIGZpbHRlcmVkCgpgYGB7ciBmaWc0LCBmaWcuaGVpZ2h0ID0gOCwgZmlnLndpZHRoID0gNywgZmlnLmFsaWduID0gImNlbnRlciJ9CmhlYXRtYXAgPC0gZ3JpZEV4dHJhOjpncmlkLmFycmFuZ2UoaGVhdG1hcHNbWydoZWF0bWFwX2xvZ0ZDMC4zX25jbHVzdGVyNl9maWx0ZXJlZF9nZW5lcyddXSRwaF9yZXMkZ3RhYmxlKQpoZWF0bWFwCmBgYAoKYGBge3J9CnNhdmUoaGVhdG1hcHMsIGZpbGU9J291dHB1dC9tb25vY2xlLzE4MDgzMS9oZWF0bWFwcycpCmBgYAoKCg==